home *** CD-ROM | disk | FTP | other *** search
- *******************************************************************************
- *
- * Welcome to warp speed!
- *
- * powerpc.library/WarpOS history
- *
- * milestones:
- * V8.0 - first internal release of WarpOS. powerpc.library is
- * running under WarpOS from now on.
- * V9.0 - PPC native memory management / exception handler
- * support
- * V10.0 - MMU + BAT support implemented / PPC-Enforcer
- * Reincarnation of VOXELSPACE
- * V11.0 - Virtual signal system / native msg handling
- * V12.0 - Memory protection support / InterCPU msg handling
- * CyberStormPPC support
- * *** Official Release ***
- * V13.0 - Debugger support / Demos equipped with window support
- * V14.0 - Dynamic scheduler / Hardware driver concept
- * BlizzardPPC support
- * V15.0 - Pooled memory API (new MM) / Shared semaphores /
- * Blackbox 68K emulation support
- *
- *******************************************************************************
-
- 4. 6.97 - first internal release
- - V8.0
-
- 5. 6.97 - new memory management, based on mempools, inserted
- (old implementation linked to exec/AllocVec disabled)
-
- Thanks a lot to Michael Rock for the implementation of
- this memory management!
- - V8.1
-
- 7. 6.97 - New memory management routines locked by semaphores
- - OpenLibrary patch implemented to prevent WarpOS from
- being killed by ELF applications.
- - New mirror tasks now get the priority of its partner
- task instead of 0.
- - New library functions 'Super' and 'User' to switch
- between supervisor and user mode.
- - New library function 'SetHardware' to affect some
- CPU related resources (i.e. trace mode)
- - V8.2
-
- 8. 6.97 - If no tasks are running/ready, the PPC enters a
- power saving mode (nap mode)
- - New library function 'ModifyFPExc' allows to set/clear
- the exception enable bits in the FPSCR to enable/disable
- particular FP exceptions
- - New flag for CreateTaskPPC: TASKATTR_MOTHERPRI. Allows
- child tasks to inherit the priority of the mother task
- - New tools to set/clear global breakpoints: ibreak and
- dbreak (dbreak only for 604[e])
-
- 9. 6.97 - Priority of WarpOS system task 'Enterprise' changed to 1
- - New library functions 'SetExcHandler' and 'RemExcHandler'
- allow to insert/remove custom exception handler (comparable
- to exec/AddIntServer)
- - New memory management system temporarly disabled because of
- linker problems.
- - V9.0
-
- 11. 6.97 - New memory management system re-enabled.
-
- 12. 6.97 - Signal numbers changed from BYTE to LONG (AllocSignalPPC,
- FreeSignalPPC)
- - Emulation of misaligned FP accesses done (implemented in
- warp.library). Author of the emulation: M.Rock.
-
- 13. 6.97 - Heavy bug fixed: Sleep routine (executed if no tasks
- are running/ready) trashed the stack of a waiting task.
- - New library function 'WaitTime' allows to wait for a
- given time or for given signals.
- - Emulation of DCBZ to noncachable/writethrough locations
- implemented (warp.library)
- - V9.1
-
- 14. 6.97 - New WarpOS support task 'Voyager' implemented which frees
- all memory allocated at 'CreateTaskPPC' if the task is
- removed.
- - New *private* library function 'ChangeStack' to change the
- PPC stack.
- - New tool 'stackppc' which works the same as the 'stack'
- command (using 'ChangeTask').
- - Bug fixed: mirror tasks didn't get double the stack size
- of the calling 68K process (as intended) because the
- field 'pr_Stacksize' isn't updated by the Shell when
- launching programs. The difference of TC_SPUPPER and
- TC_SPLOWER multiplied by 2 is taken now.
- - New library functions 'LockTaskList' and 'UnLockTaskList'
- allow to gain access to a list of all tasks.
- - New tool 'showtasks' prints out informations about all PPC
- tasks.
- - V9.2
-
- 15. 6.97 - signal bit definition for SIGF_TIME changed from 2 to 9
- to avoid collisions with exec signals.
- - paged MMU setup implemented and activated
- - exception handlers are now called with MMU switched off.
- -> no critical locations like custom chip area (which must
- be accessed in noncachable mode) must be accessed anymore
- - new library functions 'SetExcMMU' and 'ClearExcMMU' allow
- to setup a temporary BAT based MMU setup in exception
- handling code to access critical locations as described
- above.
-
- 16. 6.97 - BAT support done. The BAT registers are now a local resource
- of each task (like the normal registers) and they are
- switched by the scheduler.
- - New library function 'ChangeMMU' allows to change the MMU
- setup of the current task to standard or to BAT setup.
- - New tool 'changeMMU' performs the same action as the
- library function, but it can be controlled from the shell.
-
- 17. 6.97 - bug fixed: mempools were not freed by mistake
- - MMU support for AllocVecPPC/FreeVecPPC implemented
-
- 18. 6.97 - ****** Reincarnation of VOXELSPACE !! *******
- the executable 'voxelspace' is now located in the demos
- drawer. To run the demo a separate archive is required.
- (voxel.lha). Welcome to warp speed! :)
- - PPC-Enforcer activated. First page is protected and all
- accesses to $400-$1000 are emulated. Load accesses to $4
- are emulated, too.
- - New library function 'GetInfo' allows to get many PPC
- related information
- - New tool 'showinfo' displays all information currently
- available by 'GetInfo'
- - V10.0
-
- 22. 6.97 - bug fixed: if someone tried to open powerpc.library with
- too high version number, the powerpc.library was shut down.
-
- 23. 6.97 - SIGF_TIME changed again (Bit 10)
-
- 25. 6.97 - bug fixed which could cause deadlock at 68K-Calls
- - bug fixed: internal instruction cache flush was broken
- - signals are now completely transparent to the CPU's. All
- signals are transferred at Cross-Calls -> A PPC task can
- now be signaled by signaling its 68K mirror task and vice
- versa. All signal bits are mirrored.
-
- 26. 6.97 - LN_TYPE field of a ppc task changed from NT_TASK to
- NT_PPCTASK (-> tasksppc.i)
- - The whole signal handling is now based on the 'virtual
- signal-pool'. Both CPU's share the signals and they can
- signal tasks on both CPU's directly (i.e. a PPC-Task can
- be signaled from 68K using exec/Signal with the PPCTask
- structure as first argument).
- - Now it's safe not to restore the nonvolatile registers if
- a PPC task exits by a single 'blr'. The smalldata base is
- now automatically transferred to an alternative exit
- routine, if one was specified at 'CreateTaskPPC'.
- - V10.1
-
- 27. 6.97 - New library functions implemented for Message-Handling:
- CreateMsgPortPPC, DeleteMsgPortPPC, AddPortPPC, RemPortPPC,
- FindPortPPC, WaitPortPPC, PutMsgPPC, GetMsgPPC, ReplyMsgPPC
-
- 28. 6.97 - A new PPC task now creates immediately a mirror 68K process
- if none exists.
-
- 29. 6.97 - PutMsgPPC/ReplyMsgPPC can now be called from exception
- handlers.
- - V10.2
-
- 13. 7.97 - New library function 'FreeAllMem' allows to free all
- allocations made by the calling task.
-
- 15. 7.97 - If WarpOS is launched before ENV: is ready, then the
- env variables are read a second time, when the first
- RunPPC is performed (except for powerpc/debug)
-
- 16. 7.97 - WarpOS-Documentation in AMIGAGuide-Format done (D)
-
- 18. 7.97 - Dokumentation for Game-Development 'GameDev.guide'
- included in archive (D)
- - V11.0
-
- 19. 7.97 - There was a tiny chance of problems with messages
- sent from exception handling code -> fixed
-
- 20. 7.97 - Memory protection support implemented. Two new memory
- attributes for 'AllocVecPPC' allow to allocate memory,
- which is protected against other tasks (either full
- protected or write protected).
- - The tool 'showtasks' now displays the pagetable of each
- task.
- - The PPC-Code of the powerpc.library is now write-protected.
- - V11.1
-
- 21. 7.97 - New library function 'CopyMemPPC' to copy memory areas.
- - New environment variable 'powerpc/memprot' allows to
- disable/enable the memory protection feature.
- - New 68K library functions 'AllocVec32' and 'FreeVec32'
- allow to allocate memory which can be shared with PPC tasks
- - New 68K library function 'SPrintF68K' allows to print
- debug information to the serial port/sushi.
-
- 22. 7.97 - cache flush optimization for 68040/68060 didn't work at all
- -> fixed -> calling overhead decreased by 20 percent
- - InterCPU message handling implemented. New library functions
- 'AllocXMsg', 'FreeXMsg' and 'PutXMsg' for 68K to alloc
- special InterCPU-Messages and to send them. New library
- functions 'AllocXMsgPPC', 'FreeXMsgPPC' and 'PutXMsgPPC' do
- the same for PPC.
-
- 23. 7.97 - Various bugs related to MMU features fixed
- - C-Includes added to the WarpOS-Archive.
- - V11.2
-
- 1. 8.97 - Changed the assembler macros RUNPOWERPC and RUNPOWERPC_XL
- (powerpc.i) to support direct PPC-Library-Calls from 68K-
- Functions. Note: the parameters 2-4 were shifted to the
- right by one. New parameter 2: The Library-Offset (used
- in the same way like in the macros RUN68K and RUN68K_XL).
- - All include files were equipped with checks to the
- constant POWERPCLIB_V7. If this symbol is defined then
- no structures/macros are assembled, which can only be used
- with powerpc.library V8+.
- - Added include file 'libraries/powerpc.i'. Including this
- file sets the constant mentioned above and allows to create
- V7-compatible applications.
- - Added the powerpc.library V7 and its history file to this
- archive (directory 'v7')
-
- 2. 8.97 - Bug fixed: On PPC-Systems with CPU clocks between
- 250-300 Mhz, the CPU clock returned by 'GetInfo' could
- have been wrong.
- - Bug fixed: 'GetInfo' returned a wrong page table size.
- - Improved the accuracy of the FP conversion in the crash
- requester which is used to display the FP registers as
- ASCII string.
-
- 19. 8.97 - On some systems with small gfx address space, the gfx
- RAM was not placed into BAT registers. Now the powerpc.
- library tries to find out, where the gfx RAM is located
- (using cybergraphics.library) and puts the gfx RAM into
- BAT registers if possible (alignment must still be
- properly set).
- - New environment variable 'gfxaddr' allows to specify an
- address (either with or without $) to give the powerpc.
- library a hint, where the gfx RAM should be.
- - New versions of cybermand and voxelspace added.
- - V11.3
-
- 27. 8.97 - Removed Gfx-RAM autodetection (seems to be somewhat risky)
- - Forgot to add warp.library 1.2 to the WarpOS-Archive.
- powerpc.library V11.3 didn't work at all...
- -> warp.library V1.2 added
-
- 15. 9.97 - CyberstormPPC support added.
- WarpOS *WORKS* with the CyberStormPPC-Boards !! Cybermand
- is now 12-13 times faster on 604E/200 relative to 68060/50.
- - Added new version of voxelspace to the archive. Added
- special optimization for PPC604E.
- - Added voxel.readme and voxel_english.readme to the demos
- drawer. This file contains some notes about the usage of
- the voxelspace parameters and known problems.
- - Added english translations of WarpOS.guide and GameDev.guide.
-
- 16. 9.97 - Added a correction stage at CPU-clock calculation (in
- function 'GetInfo'). The cpu clock is now displayed
- completely correctly.
-
- 17. 9.97 - Problems with PPC-Enforcer and 604E fixed (NEVER use
- self modifying code yourself!). One 'sync'-instruction
- more, and everything works fine.
-
- 18. 9.97 - New library functions GetSysTimePPC, AddTimePPC, SubTimePPC
- and CmpTimePPC for time measurement (also available vor V7)
- - New small demo program 'pixelOmania' to measure the
- context switch performance (i.e. to compare V7 and V8+)
-
- 20. 9.97 - Added the 'WarpRace' application to the archive (drawer
- 'WarpRace'). This application is a modular performance
- test program. Included are several modules and module
- sources.
- WarpRace and all modules so far work with powerpc.library V7.
-
- 21. 9.97 - Added the 'landscape' demo to the archive (drawer
- 'demos/landscape'), a fractal landscape generator.
- - Added new versions of 'tabletennis' and 'cyberpi' which
- don't crash anymore if the powerpc.library can't be opened.
- 'Cyberpi' now supports both CPU's (new parameter M68K).
- - V12.0
-
- 25. 9.97 - Corrected a bug in the warprace executable (CTRL-C only
- breaked the current recursion level)
- - Corrected a bug in warprace module 'Landscape.wrm' (mem
- allocation was broken)
- - New 68K library function 'GetPPCState' allows to get
- information about the state of the PPC and of PPC
- applications (officially available in V13)
- - New tool PPCState displays the result of 'GetPPCState'
- - V12.1
-
- 27. 9.97 - New env-variable 'noPPC'. If this variable is 1, then
- the powerpc.library always returns 0 at initialization.
- This allows to use applications, which try to open
- the powerpc.library, without PPC boards (before, WarpOS
- simply crashed) if it supports the 68K too.
-
- 29. 9.97 - Static board detection implemented. If problems occur or
- the 68060.library of the PowerUp-Distribution is not
- installed, the board type can be selected using the new
- env variable 'boardtype'.
- 0 = auto detection using 68060.library
- 1 = developer board
- 2 = CyberstormPPC
- - New env variable 'earlyterm' implemented (also for V7).
- If the variable is not 0, then the mirror task of a 68k
- task is removed at the last CloseLibrary of the 68k task,
- instead at removal of the task.
- Hope, this will fix the problems with WShell.
- The tools stackppc and changemmu DON'T work with earlyterm=1!
- Use the 68K command stack to modify the PPC stack (the PPC
- stack is about double the size of the 68K stack).
- - 12.2
-
- 8.10.97 - RunPPC now interprets the PP_OFFSET field in the same way as
- Run68K does. If PP_OFFSET is zero, than it works as before,
- if it is not zero, a PPC library call is performed with the
- base in PP_CODE and the library vector offset in PP_OFFSET.
- - Description and prototypes of SetExcMMU and ClearExcMMU were
- missing. Corrected.
- - Bug fixed: FreeXMsgPPC trashed r2.
- - Inter-CPU messages can now be sent asynchronely, so they
- may not be answered anymore by the foreign task. But it is
- really important, that the processor frees the message which
- allocated it (even if it is another task).
- - Exec/Replymsg now doesn't crash anymore, when called with
- an InterCPU-msg without ReplyPort (but don't call exec/
- ReplyMsg nevertheless without ReplyPort, why should you?).
- Exec/ReplyMsg now simply does nothing in this case.
- - New library function SetReplyPortPPC allows to exchange the
- reply port of a message (internal PPC message or InterCPU
- message). Officially available in V13.
- - Added support of fields TC_SWITCH and TC_LAUNCH in the
- exec task structure. If the appropriate bits in TC_FLAGS
- are set, these functions are called whenever a PPC task
- looses resp. gets the CPU (equal behaviour like exec).
- - New library functions 'SnoopTask' and 'EndSnoopTask'
- allows to monitor the beginning and the end of a PPC task
- (useful for debuggers). Officially available in V13.
- - V12.3
-
- 13.10.97 - Voxelspace 1.5 added. Window mode is now supported
- (only for gfx boards).
- - Cybermand 1.2 added. Window mode is now supported
- (also for PAL)
-
- 14.10.97 - Landscape 1.1 added. Window mode is now supported
- (also for PAL)
-
- 15.10.97 - Corrected clib/powerpc_protos.h (was very buggy)
-
- 16.10.97 - Time Measurement was UNRELIABLE! Busclock could have
- been measured wrong. Corrected (once again, one 'sync'
- more...)
- - ChangeMMU was not correct. IBAT2 and DBAT2 were
- exchanged.
-
- 22.10.97 - Bug fixed: FP-Registers f9-f13 were passed incorrectly
- to custom exception handlers.
-
- 28.10.97 - Major internal change: all board specific stuff is
- moved from powerpc.library to warp.library. The
- powerpc.library is now completely board-independent
- and will work unmodified with all PPC boards.
-
- The warp.library has now become a real HAL, since
- it now also provides access to board specific
- resources using a standardized interface.
-
- IMPORTANT NOTE: The powerpc.library V12.4 and higher
- requires the warp.library V2 to be installed!!
- - Some bugfixes, which maybe could be responsible
- for some deadlocks in rare cases.
- - V12.4
-
- 6.11.97 - Minor changes in powerpc/powerpc.i (macros RUNPOWERPC
- and RUNPOWERPC_XL) to avoid linker warnings.
-
- 8.11.97 - Bug in clib/powerpc_protos.h fixed. The snoop functions
- were enabled for V7 by mistake.
- - V13.0
-
- 22.11.97 - Oh, DAMN. Exec tasks couldn't use RunPPC because of
- DOS calls. These calls are now handled by a new
- support process called 'Babylon5'.
- - V13.1
-
- 25.11.97 - Some 'sync' instructions added to warp.library (maybe
- this can solve some problems with PPC crashes). V2.1
-
- 26.11.97 - The powerpc.library returns now 0, if ppc.library is
- active and if someone tries to open the powerpc.library.
-
- 27.11.97 - Bugs fixed in pragma/powerpc_lib.h: SPrintF was written
- instead of SPrintF68K, and GetPPCState was enabled for
- V7, by mistake.
-
- 1.12.97 - NOTE: it is possible, that a PPC application crashes,
- if it launches WarpOS (that means, if it is the first
- PPC application) AND if SnoopDos is monitoring
- exec/OpenLibrary. The crash seems to happen in the
- Patch of SnoopDos. Run a PPC program earlier or avoid
- monitoring exec/OpenLibrary with SnoopDos to avoid
- these problems!
-
- 16.12.97 - New version of voxelspace added. It now supports
- OS3.0 multibuffering with P96 -> No flickering anymore!
- Use 'TURBOGFX' or 'WARP' as CLI parameter to switch
- on multibuffering.
- - V13.2
-
- 6. 1.98 - Some tags and defines were missing in powerpc.h
- (GetInfo)
-
- 2. 2.98 - New function 'GetHALInfo' allows to retrieve some
- information about the WarpUp HAL's status. At the moment
- the number of emulated alignment exceptions can be
- evaluated (might be useful to find performance bottlenecks)
- This function is officially available in V14.
- - New tool 'ShowHALInfo' displays all results of the
- function 'GetHALInfo'
-
- 4. 2.98 - The WarpUp-HAL (warp.library) was splitted up into two
- parts: the main HAL and in a hardware driver. From
- warp.library V3 on, there must be installed a warpHW.library
- for a specific hardware.
- The new directory 'hwdrivers' contain all drivers currently
- available, a description how to make a new hardware driver
- and a StormC template project to help developing a new driver.
- - If warp.library V3+ is installed the env variable 'boardtype'
- is ignored and can be deleted.
- - The BlizzardPPC hardware driver is currently an untested
- prototype.
- - warp.library bumped to V3.0
- - A new tool 'GetDriverInfo' prints out an identification string
- of the currently active WarpUp hardware driver.
-
- 5. 2.98 - A bug fixed, which was introduced with the reorganisation
- of the warp.library -> warp.library V3.1
-
- 6. 2.98 - A lot of internal changes to support a special project.
- Most API functions were modified a bit, hopefully all
- should continue working properly.
- - V13.3
-
- 10. 2.98 - First-Aid text updated. There are still too many people
- which don't know that WarpOS can't run in parallel with
- the ppc.library. UFF... Another note points to the problems
- with CyberGraphX versions with ppc.library support. The best
- solution is not to install this version. Better wait for
- a graphics software with REAL PowerPC support.
-
- 1. 3.98 - Bug fixed in the WarpOS memory management system. Allocations
- > 512KB could go wrong (or always went wrong, I don't know).
- - Dynamic scheduler finally implemented. The new scheduler works
- very different to the old scheduler and improves the
- multitasking capabilities very much. Please have a look at the
- WarpOS documentation (Chapter 'multitasking/The WarpOS Kernel')
- to get more detailed information about the new scheduler.
- - Important: the old task priorities have no effect anymore! Use
- the NICE values to give more or less CPU time to specific
- tasks.
- - A lot of new elements added to the task structure (most
- private, a few read only)
- - New API function 'SetScheduling' allows to affect the reaction
- time of low-activity-tasks. Both low and high values can have
- advantages and disadvantages.
- - New tool 'sched' to set the reaction time mentioned above.
- - 'showtasks' now also prints out the NICE value and task ID.
- Note, that this version of 'showtasks' can't be used with
- earlier version of powerpc.library anymore.
- - 'showinfo' now also prints out CPU load and system load.
- This version also requires powerpc.library 14+.
- - Bug fixed: PPCtask structure definition in C header file was
- totally buggy.
- - New API function 'FindTaskByID' allows to get the task
- address by specifying the task's ID.
- - New tool 'stat' prints out task statistics, such as name,
- taskID, CPU usage, activity etc. This tool was written in C
- and the corresponding source is located in source/tools/stat/.
- - Bug fixed: creation of new 68K tasks in the powerpc.library
- could go wrong (which could maybe have prevented WarpOS from
- working on certain systems).
- - New: if a CLI-Background process creates a new mirror task,
- the name of the command is used for the PPC task name instead
- of the process' name (which was usually 'Background CLI_PPCx')
- This improves readability of the 'stat' output.
- - New PPC tasks (created by 68K tasks) now get at least
- 32KByte stack.
- - **************** IMPORTANT ******************
- WarpOS failed on several systems due to stack problems of
- the RAMLIB (its stack is 2K on my machine, incredible...).
- The powerpc.library now performs stack swapping using
- exec/StackSwap where the critical (and stack-consuming)
- code parts are situated. This should especially solve
- those problems which occurred with RTGMasterPPC.
-
- 2. 3.98 - C-Prototype file completely rearranged. The file
- clib/powerpc_protos.h has been made much more compatible
- to alternative compilers. The Storm-specific extensions
- are now located in the file stormprotos/powerpc_sprotos.h.
- Please design prototype files for future shared libraries
- in the same way to support all compilers.
-
- 3. 3.98 - Bug fixed: Removing tasks which were created from the
- other CPU resulted in crashes.
- - New tool 'killppc' allows to remove PPC tasks by
- specifying the task ID (which can be evaluated using
- the 'stat' tool). Very useful to eliminate crashed
- tasks.
- - The source of 'killppc' is available in C
- (source/tools/killppc)
- Never kill the shell's mirror task while the shell operates
- on the 68K side.
- - The crash requester now also prints out the task ID
- - New API function 'SetNiceValue' allows to set NICE values
- of a task.
- - New tool 'niceppc' allows to set the NICE value of a
- PPC task. This can be used to affect the execution speed
- of tasks and it also affects reaction time.
- - The source of 'niceppc' is available in C.
- - TASKATTR_MOTHERPRI now also forces child tasks to get
- the mother's NICE value.
- - New task attribute TASKATTR_NICE to set the NICE value
- of new created tasks.
-
- 4. 3.98 - Now it's allowed to free Inter-CPU messages sent from
- the foreign CPU using FreeXMsg[PPC]. But note, that this
- is internally done using a cross call.
- - Removed EXEC tasks were not always caught by the
- powerpc.library, because the task termination routine of
- EXEC doesn't call RemTask() over the library interface.
- Could lead to problems when killing its mirror task on the
- PPC side. Fixed now by a small AddTask() Patch.
-
- 5. 3.98 - Now all memory allocated by a PPC task is freed at task
- removal. Earlier, only those entries in TC_MEMENTRY were
- freed.
- - The powerpc.library API is now also available in AmigaGuide
- format (see directory 'docs')
- - A new file 'includes.guide' is now in 'docs' which contains
- an overview of all include files.
- - Updated the WarpOS documentation.
- - Added a new Easyrequester which pops up if the ppc.library
- was detected.
- - The prototype of WaitPortPPC() was missing. Corrected.
- - Added FD file to the archive (include/fd/)
- - V14.0
-
- 12. 3.98 - Bug fixed: Corrupt code caused problems with exception
- handlers.
-
- 14. 3.98 - Problem detected. The ppc.library was put into
- the flash ROM of the Blizzard Board, therefore WarpOS
- can't work in the known way.
-
- 16. 3.98 - More stack problems solved by exec/Stackswap. Implemented
- in warp.library -> V3.3
- - ELF terminator implemented. The env-variable 'Terminator'
- can be used to launch WarpOS while ppc.library is running.
- Any ELF activity is instantly terminated. Still does not
- solve the problems with the new boards.
- - A second Easyrequester implemented to warn the user before
- using the ELF terminator facility.
- - New env variable 'HideWarning' prevents both easy
- requesters from appearing. Note: the combination of
- Terminator = non-null and HideWarning=1 is dangerous,
- because the ELF-terminator is activated without any
- warning.
- - First Aid text updated, guess why.
- - 'stat' had a small bug. Additionally memory usage was
- decreased and source design was improved.
- - env-variable 'boardtype' removed
-
- 27. 3.98 - New task flag TASKPPC_THROW implemented. If set, the task
- causes an instruction breakpoint exception when it is launched
- next time by the scheduler.
- - New tool 'throw' uses this flag and can be used to interrupt
- tasks which are caught in endless loops. C Sources are
- available.
- - Changed the tag EXCATTR_ID to EXCATTR_PRI (powerpc/powerpc.h).
- Please update your sources, if you used this tag.
-
- 4. 4.98 - Added a note to the autodoc of FreeVecPPC concerning cache
- coherency. Only important for asynchron applications.
- - V14.1
-
- 5. 4.98 - Finally the WarpOS prototype worked the first time on a
- Blizzard board!
-
- 6. 4.98 - First Aid updated to solve the problems of the WarpUp demos
- in conjunction with CyberGFX emulation for AGA.
-
- 10. 4.98 - More Blizzard problems solved.
-
- 16. 4.98 - Bug fixed: WaitTime was buggy, in case that the task was
- woken up by standard signals instead of the timeout signal.
-
- 17. 4.98 - New API PPC function 'TrySemaphorePPC' does the same as
- 'ObtainSemaphorePPC' but supports a timeout value, which
- defines when the task should give up to obtain the semaphore.
-
- 21. 4.98 - Added a msgport entry to the task structure which can be
- used in a similar way than the msgport of dos processes.
- Currently the msgport isn't used by WarpOS itself, but
- applications might simulate the WBMsg mechanism which is used
- for passing parameters from the Workbench to new created
- tasks on 68K side.
- Note, that any access to the msgport entry must be locked
- by LockTaskList! Also note, that the msgport is instantly
- available to the mother task after returning from
- CreateTaskPPC. Finally note, that this msgport is not for
- general application use, just like on 68K side.
- - The memory cleanup mechanism (implemented in the Voyager
- task) introduced at 5.3.98 could lead to severe problems
- if a task was removed which created child tasks earlier (which
- were still alive).
- - New cache flag CACHE_DCACHEINV allows to invalidate an
- selected address range. *NEVER* use this unless you really
- need it (and that's mainly for asynchron programming).
- - New 68K API function 'SetCache68K' provides the same
- functionality than 'SetCache' on PPC side (except cache
- locking/unlocking). The special 68040/68060 commands are
- used to achieve better results than CacheClearE does.
-
- 27. 4.98 - The memory cleanup mechanism was still broken in the
- case that protected memory was freed.
- - V14.2
-
- 29. 4.98 - FindTagItemPPC and GetTagDataPPC were totally broken.
-
- 2. 5.98 - If a page didn't fit into the primary PTEG, then the
- insertion into secondary PTEG went totally wrong. But
- anyway, the chance for this error to appear in practice
- was almost 0. Correct in warp.library 3.5.
-
- 7. 5.98 - Bug fixed in powerpc/tasksPPC.h: The value SNOOP_xxx
- were all wrong.
-
- 10. 5.98 - Changed the BAT setup for the boot process. The earlier
- setup failed if motherboard-RAM was involved instead
- of the RAM on the CPU board.
-
- 23. 5.98 - Added support for the blackbox emulation concept.
- - V14.3
-
- 20. 6.98 - More problems with the memory cleanup mechanism
- fixed.
-
- 27. 6.98 - BUG corrected: CTR could be trashed by the scheduler.
- Don't know if this bug was introduced recently or a
- long time ago.
-
- 30. 6.98 - Bumped warp.library to V4.0 (part of the first 'Blackbox
- emulation' prototype).
- - Bumped powerpc.library to V14.4 (part of the first
- 'Blackbox emulation' prototype).
- - V14.4
-
- 5. 7. 98 - Added modifications for blackbox emulation. Now WarpOS
- applications can be run in parallel to the emulated
- AMIGA-OS.
-
- 6. 7. 98 - Corrected documentation error in powerpc.guide/powerpc.doc.
- FreeXMsg gets the message in a0, not in a1
- - V14.5
-
- 1. 8.98 - New env variable 'force' forces the address stored in
- 'gfxaddr' to be added to the PPC MMU, even if no matching
- address space was found in the system structures (has
- to be set to 1 if CyberVisionPPC hardware is present).
-
- 2. 8.98 - Added a new terminator (number 2), which should fix the
- problems with the new P5 flash ROM.
- - V14.6
-
- 27. 9.98 - Prototypes for InsertPPC were broken.
-
- 5.11.98 - Added another 'stackswap' code, which is only executed
- by tasks called 'ramlib'. This should reduce the
- stack problems with ramlib.
-
- 19.12.98 - Added 'WarpStat' to the tools directory. It does the same
- as 'stat', but provides a nice GUI (MUI required).
-
- 20.12.98 - New env variable 'powerpc/nopatch' does not prevent
- the ppc.library to be opened when WarpOS is running.
- Set this, if you would like to use the PowerUp emulation
- software (which is in development).
- - New PPC API function 'NewListPPC' to initialize exec
- lists. Valid after V15.
- - New flag for PP_FLAGS (call structure): PP_LINEAR.
- Allows to pass r3-r10 instead of the registers assigned
- to the 68K registers (only available for RunPPC).
- - New tag for CreateTaskPPC (TASKATTR_INHERITR2), which
- forces the new task to use the r2 of the parent task
- (and so can share its variables).
-
- 21.12.98 - New API function 'SetExceptPPC' allows to define
- signals, which enforce the execution of exception
- handlers, if they are sent. See the autodocs for
- differences to exec/SetExcept. Valid after V15.
-
- 22.12.98 - New 68K API function 'CreatePPCTask' does the same as
- CreateTaskPPC on the PPC. It was just added for
- simplicity to allow 68K applications to create new
- PPC tasks without having to do a context switch and
- then call CreateTaskPPC.
- Valid after V15.
- - V14.7
-
- 31.12.98 - powerpc/RemHeadPPC was broken (return value was
- wrong).
-
- 13. 2.99 - FreeVecPPC could trash several registers. Corrected.
- - V14.75
-
- 14. 2.99 - New env variable 'powerpc/seginfo' can be used to
- let WarpOS print out segment information if PPC crashes
- occur. Hunk/offset pairs are given for the excepting
- instruction and for all sub-calls in the stackframe.
- This variable expects a numeric value, which corresponds
- to the max. number of lines written. Set this to some
- value like 100.
- This feature requires 'SegTracker' and 'Sushi' to be
- installed.
-
- 20. 2.99 - New API functions 'ObtainSemaphoreSharedPPC',
- 'AttemptSemaphoreSharedPPC,'ProcurePPC','VacatePPC'
- implement shared and message-based semaphores. Valid
- after V15.
- - If powerpc/force was set, while powerpc/gfxaddr wasn't,
- a lot of troubles could appear. Corrected.
- - There was a slight chance that GetSysTimePPC could
- return a wrong result (if an overflow of TBL occurred
- while reading the time base). Corrected.
- - New flag PP_THROW for RunPPC. If a PPC call is done with
- this flag set, then an exception is caused before entering
- the function (illegal instruction exception/trap). This
- might be useful for debuggers which want to trigger a
- breakpoint on every PPC call. The exception can be
- distinguished from other 'trap' exception by examining
- r0, which contains the string "WARP".
- Note, that this flag is not available for Run68K.
-
- 21. 2.99 - New tag for CreateTaskPPC: TASKATTR_ATOMIC. Allows to
- create non-interruptable tasks (except if task enters
- waiting state). Note, that non-interruptable tasks still
- can be interrupted by exceptions/interrupts, but not by
- other tasks. Fixed priorities are NOT supported.
- Such tasks might have a severe impact on the multitasking,
- therefore you should never use it without serious
- justification.
- Important: this feature is specific to the WarpOS scheduler.
- If the WarpUp-API would be implemented on top of another
- scheduler, then this feature might not work anymore.
- - Added the possibility to add exception handlers for the
- external interrupt. Those handlers are always executed,
- if the external interrupt was triggered using WarpOS API
- functions: CauseInterrupt (PPC) and CausePPCInterrupt (68K).
- - V14.8
-
- 1. 3.99 - The terminator mechanism was too unreliable. Corrected.
-
- 10. 3.99 - New memory management system added (written by Frank Wille),
- which replaces the old one.
- - Bug fixed in CreateTaskPPC. The space to store the task
- name was one byte to short.
- - Added 'BPPCFix' from Frank Wille to the WarpUp archive
- (directory tools/BPPCFix). Allows to reboot BlizzardPPC
- machines without launching the ppc.library.
-
- 14. 3.99 - New API functions 'CreatePoolPPC', 'DeletePoolPPC',
- 'AllocPooledPPC, 'FreePooledPPC' implement pooled memory
- functions. Valid after V15.
- - V14.9
-
- 2. 4.99 - Severe bug in the scheduler fixed, which sometimes could
- have been responsible for multitasking hang-ups and
- for lost signals.
-
- 3. 4.99 - New API function RawDoFmtPPC does the same as exec/RawDoFmt.
- Valid after V15.
-
- 14. 4.99 - Added the PowerUp Emulation V0.6 of Frank Wille to the
- WarpUp distribution (directory 'PowerUpEmu').
- - V15.0
-
-